リスト:LASER Ver1.0プチコン プログラムリストタイトル:LASER Ver1.0 レーザーを撃つことを目的としたものです。 Yボタンでレーザー撃てます。 Bボタンでオプション追加。 Aボタンでオプションが減ります。 Xボタンで終了するようになっていますが、画面初期化されないので意味はありません。 もちろん十字キー(スライドパッド)で移動できます。 レーザーはYボタンから手を放すと止まります。 行き当たりばったりなプログラムなうえに、まったく最適化しておりません。 ものすごくFORループな感じです。 レーザーはグラフィック画面に描いています。 そのおかげで、たくさん横に並んでもスプライトのように消えたりしません。 遅くなりますが... 動画 http://www.nicovideo.jp/watch/sm17220924 (訳あってニコニコ動画です。見れない人ごめんなさい) http://www43.tok2.com/home/ogut/index.html リスト作成に上記サイトの「PTC2HTML」を利用させていただいています。 001. ′Ver 1.0 002. CLEAR 003. VISIBLE 1,1,0,0,1,1 004. CLS:COLOR 0 005. 006. OPMAX=20 ′オフ゜ションノカス゛ 007. 008. ′LASERステ-タス 009. DIM LST(OPMAX+1,4) 010. FOR I=0 TO OPMAX 011. LST(I,0)=0 ′フラク゛ 012. LST(I,1)=0 ′ナカ゛サ 013. LST(I,2)=0 ′カイシX 014. LST(I,3)=0 ′カイシY 015. NEXT I 016. 017. ′スフ゜ライトシ゛ュンヒ゛ 018. ′0:シ゛キ 019. DIM SPK(100),SPP(100),SPH(100),SPV(100),SPI(100) 020. DIM SPF(100),SPX(100),SPY(100) 021. FOR I=0 TO 99 022. SPF(I)=0 ′0:スキッフ゜ 1:シンキ 2:イト゛ウ 3:ヘンコウ 4:シュウキョ 023. NEXT I 024. ′シ゛キセッテイ 025. SPK(0)=256 026. SPP(0)=2 027. SPH(0)=0 028. SPV(0)=0 029. SPI(0)=0 030. SPF(0)=1 031. SPX(0)=100 032. SPY(0)=100 033. SPK(1)=257 034. SPP(1)=2 035. SPH(1)=0 036. SPV(1)=0 037. SPI(1)=0 038. SPF(1)=1 039. SPX(1)=116 040. SPY(1)=100 041. 042. SPCNT=1 ′スフ゜ライトノシヨウスウ 043. 044. ′オフ゜ション 045. OPW=8 ′オフ゜ションノウエイト 046. DIM OP(OPW*OPMAX,2) ′オフ゜ショヨウエイトテ-フ゛ル X,Y 047. OPC=0 ′ヒョウシ゛チュウノオフ゜ションスウ 048. FOR I=1 TO OPMAX 049. SPK(I*2)=200 050. SPP(I*2)=5 051. SPH(I*2)=0 052. SPV(I*2)=0 053. SPI(I*2)=0 054. SPF(I*2)=0 055. SPX(I*2)=0 056. SPY(I*2)=0 057. NEXT I 058. SPCNT=SPCNT+OPMAX*2 059. 060. GOSUB @SPWRITE 061. AB=FALSR ′Aホ゛タンカ゛ハナサレタカチェック 062. BB=FALSE ′Aホ゛タンカ゛ハナサレタカチェック 063. 064. @MLOOP 065. ′ニュウリョク 066. XX=0:YY=0 067. BTN=BUTTON() 068. IF BTN AND 64 GOTO @EXIT ′Xホ゛タン 069. IF BTN AND 128 THEN SHOT=1 ′Yホ゛タン 070. IF BTN AND 1 THEN YY=-2 ′ウエ 071. IF BTN AND 2 THEN YY=2 ′シタ 072. IF BTN AND 4 THEN XX=-2 ′ヒタ゛リ 073. IF BTN AND 8 THEN XX=2 ′ミキ゛ 074. IF AB GOTO @ABSKIP 075. IF BTN AND 16 THEN OPADD=-1 ′Aホ゛タン 076. AB=TRUE 077. @ABSKIP 078. IF BB GOTO @BBSKIP 079. IF BTN AND 32 THEN OPADD=1 ′Bホ゛タン 080. BB=TRUE 081. @BBSKIP 082. IF XX!=0 OR YY!=0 THEN GOSUB @MYMOVE 083. 084. 085. IF SHOT==0 GOTO @SHOTSKIP 086. FOR I=0 TO OPC 087. LST(I,0)=1 088. NEXT I 089. GOSUB @LASER 090. SHOT=0 091. @SHOTSKIP 092. 093. IF OPADD==0 GOTO @OPSKIP 094. IF OPADD==-1 GOTO @OPCMI 095. ′オフ゜ションツイカ 096. IF OPC==OPMAX GOTO @OPEND 097. OPC=OPC+1 098. OPX=SPX((OPC-1)*2) 099. IF OPC==1 THEN OPX=OPX+4 100. OPY=SPY((OPC-1)*2) 101. FOR I=(OPC-1)*OPW TO (OPC*OPW)-1 102. OP(I,0)=OPX 103. OP(I,1)=OPY 104. NEXT I 105. SPX(OPC*2)=OPX 106. SPY(OPC*2)=OPY 107. SPF(OPC*2)=1 108. GOTO @OPEND 109. @OPCMI 110. IF OPC==0 GOTO @OPEND 111. SPF(OPC*2)=4 112. OPC=OPC-1 113. @OPEND 114. OPADD=0 115. @OPSKIP 116. 117. GOSUB @SPWRITE 118. 119. ′ホ゛タンオフチェック 120. IF (BTN AND 16)==FALSE THEN AB=FALSE 121. IF (BTN AND 32)==FALSE THEN BB=FALSE 122. 123. WAIT 1 124. GOTO @MLOOP 125. 126. 127. @EXIT 128. PRINT”シュウリョウ 129. END 130. 131. @MYMOVE 132. ′シ゛キノイト゛ウ 133. SPX(0)=SPX(0)+XX 134. IF SPX(0)<0 THEN SPX(0)=0 135. IF SPX(0)>223 THEN SPX(0)=223 136. SPY(0)=SPY(0)+YY 137. IF SPY(0)<0 THEN SPY(0)=0 138. IF SPY(0)>175 THEN SPY(0)=175 139. SPF(0)=2 140. SPX(1)=SPX(0)+16 141. SPY(1)=SPY(0) 142. SPF(1)=2 143. ′オフ゜ションイト゛ウ 144. IF OPC==0 GOTO @OPMVSKIP 145. ′オフ゜ションウエイトテ-フ゛ルヲ1ツスライト゛ 146. OPWORK=OPW*OPC-1 147. FOR I=0 TO OPWORK-1 148. OP(OPWORK-I,0)=OP(OPWORK-I-1,0) 149. OP(OPWORK-I,1)=OP(OPWORK-I-1,1) 150. NEXT I 151. OP(0,0)=SPX(0)+4 152. OP(0,1)=SPY(0) 153. ′オフ゜ツョンスフ゜ライトニハンエイ 154. FOR I=1 TO OPC 155. IF SPF(I*2)!=0 GOTO @OPHSKIP 156. SPX(I*2)=OP(I*OPW-1,0) 157. SPY(I*2)=OP(I*OPW-1,1) 158. SPF(I*2)=2 159. @OPHSKIP 160. NEXT I 161. @OPMVSKIP 162. ′GOSUB @SPWRITE 163. RETURN 164. 165. ′---スフ゜ライトカキカエ 166. @SPWRITE 167. FOR J=0 TO SPCNT 168. SN=J 169. ON SPF(J) GOSUB @SKIP,@SPNEW,@SPMOVE,@SPCHANG,@SPDEL 170. NEXT J 171. RETURN 172. 173. @SKIP ′ナニモシナイ 174. RETURN 175. 176. @SPNEW 177. ′′PRINT ”NEW SN= ”;SN 178. SPSET SN,SPK(SN),SPP(SN),SPH(SN),SPV(SN),SPI(SN) 179. SPF(SN)=0 180. GOSUB @SPMOVE 181. RETURN 182. 183. @SPMOVE 184. ′′PRINT ”MOVE OPC= ”;OPC 185. SPOFS SN,SPX(SN),SPY(SN) 186. SPF(SN)=0 187. RETURN 188. 189. @SPCHANG 190. SPF(SN)=0 191. RETURN 192. 193. @SPDEL 194. SPCLR SN 195. SPF(SN)=0 196. RETURN 197. 198. @LASER 199. FOR K=0 TO OPC 200. IF LST(K,0)==0 GOTO @LANEXT 201. ′フルイレ-サ゛-ヲケス 202. IF LST(K,1)==0 GOTO @LASK01 203. LEND=LST(K,2)+LST(K,1) 204. IF LEND>255 THEN LEND=255 205. GLINE LST(K,2),LST(K,3),LEND,LST(K,3),0 206. @LASK01 207. ′アタラシイレ-サ゛- 208. ′ナカ゛サカ゛220ヲコケタフ゛ンハ スキマニナル 209. LST(K,1)=LST(K,1)+15 210. LST(K,2)=SPX(2*K)+28 ′(32-4) 211. IF K!=0 THEN LST(K,2)=LST(K,2)-4 212. LST(K,3)=SPY(2*K)+8 213. IF LST(K,1)>220 THEN LST(K,2)=LST(K,2)+(LST(K,1)-220) 214. 215. IF LST(K,2)>255 THEN LST(K,0)=0 ′カ゛メンカ゛イニテ゛タ 216. IF LST(K,0)==0 THEN LST(K,1)=0 217. IF LST(K,0)==0 GOTO @LANEXT 218. 219. LEND=LST(K,2)+LST(K,1) 220. IF LEND>255 THEN LEND=255 221. GLINE LST(K,2),LST(K,3),LEND,LST(K,3),6 222. @LANEXT 223. NEXT K 224. 225. RETURN 226. ジャンル別一覧
人気のクチコミテーマ
|